package com.nexus.all.service;

import com.nexus.all.dto.NoteDTO;
import com.nexus.all.dto.NoteLikeDTO;
import com.nexus.all.dto.NoteQueryDTO;
import com.nexus.all.vo.NoteVO;
import com.nexus.bean.model.UserInfoVO;
import com.nexus.bean.query.QueryResultVO;

/**
 * @ClassName NoteService
 * @Author ZZYR
 * @Date 2024/2/26  10:16
 * Version  1.0
 **/


public interface NoteService {


    /**
     * 新增笔记
     *
     * @param noteDTO
     * @return
     */
    Long addNote(NoteDTO noteDTO);

    /**
     * 分页查询笔记
     *
     * @param dto
     * @return
     */
    QueryResultVO<NoteVO> queryNotes(NoteQueryDTO dto);

    /**
     * 笔记详情
     *
     * @param noteId
     * @param user
     * @return
     */
    NoteVO getNoteDetail(Long noteId, UserInfoVO user);

    /**
     * 笔记点赞
     *
     * @param dto@return
     */
    void addLike(NoteLikeDTO dto);

    /**
     * 初始化分词关键字
     */
    void initNoteWord();
}
